An Asynchronous Transfer Mode (ATM) network typically consists of a plurality of physical hardware switches. Each switch typically has multiple ports wherein cells of data are switched from one port on the switch to another port on the switch. Connections are used to define ports on a given switch and are identified by a Virtual Path Index (VPI) and a Virtual Channel Index (VCI). The combination of VPI and VCI is commonly known in the art as VPCI. Cells switched on connections are routed in part using virtual paths indexed by a VPI. A virtual path exists between two nodes in a network. The term node, as used herein, is typically representative of a switch in the network. Similarly, the terms "path" and "virtual path" are synonymous for the purposes of this discussion and are also used interchangeably.
On a Network to Network Interface (NNI), a VPI typically consists of 12 bits, or 4,096 possible values, and the VCI typically consists of 16 bits, or 65,536 possible values. Therefore, a resulting network in an NNI can ordinarily have no more than 4,096 different values for virtual paths. Since there are 65,536 possible virtual channels on each path and only 4,096 possible paths, a full path is a scarce resource in a network. The more channels that are available on a network, the less likely that a particular channel will be matched to any particular node in the network. Hence, where only a few channels exist between two nodes in a network, a full path may be tied up to service those few channels. This would be neither efficient or economical from a network administration viewpoint.
In practice, network users are generally offered a number of qualities of service (QOS). A QOS may simply be a destination in the network desirable to a particular customer. Each QOS offered may require assignment to a separate path. If, for example, there are 8 such QOSs and 200 nodes on the network, then the network must have the capability of handling 318,400 (8 * 200 * 199) paths. This is clearly beyond the 4,096 paths that can be addressed by a 12 bit VPI. In fact, a network could not grow much beyond 20 nodes with a 4,096 path limit, assuming unique VPI numbering within the network. As user network requirements continue to increase and networks become overburdened, it has become desirable to develop methods to increase the number of available paths within networks.
One method of routing data between connections in a network uses software driven packet switching networks. Because the length of a packet in such a network is variable by software methods, the inclusion of a higher level header within the packet is possible. In an ATM network application, such a header could be used to extend the addressing and multiplexing capabilities of the network. This is desirable because it allows the number of virtual paths to be increased or decreased, optimizing the efficiency of the network. The higher level header could be stripped off before delivery to a user, thereby being transparent to devices outside the network. Though this may be desirable in certain applications, the speed of data transfer in such a software driven packet switching network is inherently limited by the software processing speed, notwithstanding the capabilities of the hardware.
Because hardware driven networks can transfer data at much higher rates than is possible in software based packet switching networks, most ATM networks are hardware driven. Hardware driven networks transfer data in fixed hardware packets called cells. The cells ordinarily contain both data and address information, with the number of bits for a cell being fixed. Since there is no provision for a higher level header within a cell in a fixed hardware unit, neither address extension or multiplexing can ordinarily be achieved. Therefore, a fixed hardware unit, while faster than a software driven packet switching network, inherently limits the path routing capabilities of a network.